home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 1_2002.ISO / Data / Zips / Using syte213486192001.psc / spyhook.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  2001-06-20  |  5.2 KB  |  146 lines

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Cross Task subclassing -using system wide hooks-venky_dude"
  4.    ClientHeight    =   4890
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   6375
  8.    BeginProperty Font 
  9.       Name            =   "MS Sans Serif"
  10.       Size            =   8.25
  11.       Charset         =   0
  12.       Weight          =   700
  13.       Underline       =   0   'False
  14.       Italic          =   0   'False
  15.       Strikethrough   =   0   'False
  16.    EndProperty
  17.    LinkTopic       =   "Form1"
  18.    MaxButton       =   0   'False
  19.    MinButton       =   0   'False
  20.    ScaleHeight     =   4890
  21.    ScaleWidth      =   6375
  22.    StartUpPosition =   3  'Windows Default
  23.    Begin VB.CommandButton Command1 
  24.       Caption         =   "Start Notepad && Hook IT"
  25.       BeginProperty Font 
  26.          Name            =   "MS Sans Serif"
  27.          Size            =   8.25
  28.          Charset         =   0
  29.          Weight          =   400
  30.          Underline       =   0   'False
  31.          Italic          =   0   'False
  32.          Strikethrough   =   0   'False
  33.       EndProperty
  34.       Height          =   375
  35.       Left            =   1920
  36.       TabIndex        =   0
  37.       Top             =   3360
  38.       Width           =   2655
  39.    End
  40.    Begin VB.Label Label5 
  41.       Caption         =   "This example is similar to the cross task subclasing demo in the Spyworks product of desaware."
  42.       BeginProperty Font 
  43.          Name            =   "MS Sans Serif"
  44.          Size            =   8.25
  45.          Charset         =   0
  46.          Weight          =   400
  47.          Underline       =   0   'False
  48.          Italic          =   0   'False
  49.          Strikethrough   =   0   'False
  50.       EndProperty
  51.       Height          =   495
  52.       Left            =   120
  53.       TabIndex        =   5
  54.       Top             =   360
  55.       Width           =   6135
  56.    End
  57.    Begin VB.Label Label4 
  58.       Alignment       =   2  'Center
  59.       Caption         =   "Intro"
  60.       Height          =   375
  61.       Left            =   2400
  62.       TabIndex        =   4
  63.       Top             =   0
  64.       Width           =   1215
  65.    End
  66.    Begin VB.Label Label3 
  67.       Alignment       =   2  'Center
  68.       Caption         =   "Instructions"
  69.       Height          =   255
  70.       Left            =   2040
  71.       TabIndex        =   3
  72.       Top             =   1080
  73.       Width           =   1815
  74.    End
  75.    Begin VB.Label Label2 
  76.       Caption         =   $"spyhook.frx":0000
  77.       BeginProperty Font 
  78.          Name            =   "MS Sans Serif"
  79.          Size            =   8.25
  80.          Charset         =   0
  81.          Weight          =   400
  82.          Underline       =   0   'False
  83.          Italic          =   0   'False
  84.          Strikethrough   =   0   'False
  85.       EndProperty
  86.       Height          =   855
  87.       Left            =   120
  88.       TabIndex        =   2
  89.       Top             =   3960
  90.       Width           =   6135
  91.    End
  92.    Begin VB.Label Label1 
  93.       Caption         =   $"spyhook.frx":00DC
  94.       BeginProperty Font 
  95.          Name            =   "MS Sans Serif"
  96.          Size            =   8.25
  97.          Charset         =   0
  98.          Weight          =   400
  99.          Underline       =   0   'False
  100.          Italic          =   0   'False
  101.          Strikethrough   =   0   'False
  102.       EndProperty
  103.       Height          =   1815
  104.       Left            =   0
  105.       TabIndex        =   1
  106.       Top             =   1440
  107.       Width           =   6255
  108.    End
  109. Attribute VB_Name = "Form1"
  110. Attribute VB_GlobalNameSpace = False
  111. Attribute VB_Creatable = False
  112. Attribute VB_PredeclaredId = True
  113. Attribute VB_Exposed = False
  114. Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
  115. Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
  116. Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
  117. Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
  118. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  119. Private Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hMenu As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem As Any) As Long
  120. Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
  121. Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
  122. Private Const MF_STRING = &H0&
  123. Private Const WH_CALLWNDPROC = 4
  124. Dim n As Long
  125. Private Sub Command1_Click()
  126. Shell "notepad.exe", vbNormalFocus
  127. Dim hdl As Long
  128. Dim s As String
  129. hdl = FindWindow(s, "Untitled - NotePad")
  130. Dim ml As Long
  131. ml = GetMenu(hdl)
  132. Dim msl As Long
  133. msl = GetSubMenu(ml, 1)
  134. Dim res As Long
  135. res = AppendMenu(msl, MF_STRING, 35, "Hooked by venky!!!")
  136. Dim hnd As Long
  137. hnd = LoadLibrary("keybuster.dll")
  138. Dim hnd2 As Long
  139. hnd2 = GetProcAddress(hnd, "CallWndProc")
  140. n = SetWindowsHookEx(WH_CALLWNDPROC, hnd2, hnd, 0)
  141. End Sub
  142. Private Sub Form_Unload(Cancel As Integer)
  143. Dim x As Long
  144. x = UnhookWindowsHookEx(n)
  145. End Sub
  146.